From 6d2d72fa056958422a776bb963379b09b39b6735 Mon Sep 17 00:00:00 2001 From: robertl Date: Thu, 10 Apr 2003 03:47:50 +0000 Subject: [PATCH] Add urlbase to xsv format. Fix URL output when there is no URL data to output. --- gpsbabel/csv_util.c | 12 +++++++++++- gpsbabel/xcsv.c | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gpsbabel/csv_util.c b/gpsbabel/csv_util.c index aefebd80a..038d2585c 100644 --- a/gpsbabel/csv_util.c +++ b/gpsbabel/csv_util.c @@ -34,6 +34,8 @@ #define EXCEL_TO_TIMET(a) ((a - 25569.0) * 86400.0) #define TIMET_TO_EXCEL(a) ((a / 86400.0) + 25569.0) +extern char *xcsv_urlbase; + /*********************************************************************/ /* csv_stringclean() - remove any unwanted characters from string. */ /* returns copy of string. */ @@ -651,7 +653,15 @@ xcsv_waypt_pr(const waypoint *wpt) sprintf(buff, fmp->printfc, wpt->notes); } else if (strcmp(fmp->key, "URL") == 0) { - sprintf(buff, fmp->printfc, wpt->url); + int off = 0; + if (xcsv_urlbase) { + strcpy(buff, xcsv_urlbase); + off = strlen(xcsv_urlbase); + } + if (wpt->url) + sprintf(buff + off, fmp->printfc, wpt->url); + else + strcpy(buff, "\"\""); } else if (strcmp(fmp->key, "URL_LINK_TEXT") == 0) { sprintf(buff, fmp->printfc, wpt->url_link_text); diff --git a/gpsbabel/xcsv.c b/gpsbabel/xcsv.c index 24f7df3fc..690e6dfb1 100644 --- a/gpsbabel/xcsv.c +++ b/gpsbabel/xcsv.c @@ -34,6 +34,7 @@ static char *styleopt; static char *snlenopt; static char *snwhiteopt; static char *snupperopt; +char *xcsv_urlbase; static arglist_t xcsv_args[] = { @@ -41,6 +42,7 @@ arglist_t xcsv_args[] = { {"snlen", &snlenopt, "Max synthesized shortname length"}, {"snwhite", &snwhiteopt, "(0/1) Allow whitespace synth. shortnames"}, {"snupper", &snupperopt, "(0/1) UPPERCASE synth. shortnames"}, + {"urlbase", &xcsv_urlbase, "Basename prepended to URL on output"}, {0, 0, 0} }; -- 2.30.2